home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
compress
/
sqz1081.zip
/
SQZ.DOK
< prev
next >
Wrap
Text File
|
1992-08-22
|
19KB
|
828 lines
Program: SQZ - Squeeze.
Funktion: Filpackare och arkiverare.
Version: 1.08.1
Datum: 1992/08/22
Copyright: Jonas I Hammarberg
Av: Jonas I Hammarberg
-------------------------------------------------------------------------------
Översikt.............................. I
Att komma igång....................... II
Kommandon............................. III
Styrflaggor........................... IV
Jämförelser........................... V
Historia.............................. VI
Framtid............................... VII
BAT-filer............................. VIII
Registrering/beställning/betalning.... IX
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Översikt I
-------------------------------------------------------------------------------
Squeeze är en generell filpackare och arkiverare, typ PKZip/LHArc/ARJ mm.
Dess förtjänster över dem är;
■ Bättre packning och mindre arkivfil.
■ Stöd för underbibliotek.
■ Stöd för ÅÄÖ och andra som de anser obskyra tecken.
■ Resulterar i en mycket liten arkivfil.
■ Möjlighet att gå och få sig en fika vid packning.
■ Utvecklaren, finns här i "Äran och Hjältarnas land".
■ Föredrar registreringsavgiften i SEK och inte US$.
■ Raderar INTE några filer, dvs MOVE kommandot finns inte!!!
■ Varianter (kommer att) utvecklas för:
∙ Amiga
∙ VAX VMS
∙ UNIX / Coherent / *NIX / XENIX
∙ MacIntosh
∙ MS Windows
∙ OS/2 HPSF
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Att komma igång II
-------------------------------------------------------------------------------
■ För att packa ned ett bibliotek och dess underbibliotek...
Ställ er en nivå ned, dvs så att biblioteket blir ett underbibliotek.
SQZ A biblioteksnamn /SP1 biblioteksnamn\*.*
Ex: Packa ned \DATA\AUTOGRAF
∙ CD \DATA
∙ SQZ A AUTOGRAF /SP1 AUTOGRAF\*.*
För att återskapa detsamma:
SQZ X biblioteksnamn biblioteksnamn\
Ex: Packa upp AUTOGRAF.SQZ
∙ CD \DATA
∙ SQZ X AUTOGRAF AUTOGRAF\
■ För att packa ned ett bibliotek med fullständig sökväg...
SQZ A arkivnamn /SP2 \sökväg\*.*
Ex: Packa ned \DATA\AUTOGRAF
∙ SQZ A \ARKIV\DATA_AG /SP2 \DATA\AUTOGRAF\*.*
För att återskapa densamma:
SQZ X arkivnamn
Ex: Packa upp \ARKIV\DATA_AG.SQZ
∙ SQZ X \ARKIV\DATA_AG
■ För att återskapa ett arkiv i ett underbibliotek...
SQZ X arkivnamn underbibliotek\
Ex: Återskapa AUTOGRAF i \DATA\AUTOGRAF\ANNAT
∙ SQZ X AUTOGRAF \DATA\AUTOGRAF\ANNAT\
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Att komma igång II.2
-------------------------------------------------------------------------------
■ För att titta på i ett arkiv...
SQZ L arkivnamn
Ex:
∙ SQZ L AUTOGRAF
∙ SQZ L \ARKIV\DATA_AG
■ För att titta efter specifika filer i ett arkiv...
SQZ L arkivnamn filspec1 filspec2
Ex:
∙ SQZ L AUTOGRAF *.STP *.NLG
∙ SQZ L \ARKIV\DATA_AG *.?A?
■ För att testa om filerna i arkivet är ok (någotsånär)...
SQZ T arkivnamn
Ex:
∙ SQZ T AUTOGRAF
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Kommandon III
-------------------------------------------------------------------------------
Kommandon finns för att;
■ Addera filer till arkiv.
■ Uppdatera filer i arkivet.
■ Ta bort filer ur arkivet.
■ Skapa SFX av arkiv.
■ Lista arkivs innehåll.
■ Testa arkivs innehåll.
■ Återskapa filer från arkiv.
■ Addera filer till arkiv...
SQZ A arkivnamn filspec.
Lägger in filer i angivet arkiv. Om filerna redan finns så över-
lagras de befintliga.
■ Uppdatera filer i arkivet...
SQZ U arkivnamn filspec.
Lägger in filer i angivet arkiv. Om filerna redan finns så styr
datumet om de befintliga skall behållas eller överlagras.
■ Ta bort filer ur arkivet...
SQZ D arkivnamn filspec.
Tar bort angivna filer ur arkivet.
■ Skapa SFX av arkiv...
Ibland kan man vilja skicka en arkivfil till någon som inte äger
SQZ, eller kanske har en gammal version då de inte vill spendera
den futtiga registreringsavgiften, och då kan man skapa en sk.
SFX (SelF eXtracting archive, Självuppackande arkiv).
Det som skapas är en EXEfil som är körbar. När den då startas
packas den automatiskt upp. Vissa kommandon kan användas för SFX,
såsom Lista/Testa mm. SFXjr förstår dock inga kommandon utan kan
endast packa upp. Båda SFXen KAN återskapa bibliotek.
■ Lista arkivs innehåll...
Man kan lista ett arkiv på två sätt (L/V).
Om man väljer L så visas endast filnamnet medan V visar hela namnet
inklusive sparad sökväg.
L ger en mera kompakt listning som oftast räcker, men vill man se
om det är rätt fill så pröva V.
■ Testa arkivs innehåll...
Ibland kan det hända att disketter/teleledningar orskar fel i
arkivet och då kan man med hjälp av detta kommando testa att
innehållet är korrekt. Testmetoden BÖR ta de flesta fel som
kan dyka upp, men någon 100%-garanti kan jag inte ge.
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Kommandon III.2
-------------------------------------------------------------------------------
■ Återskapa filer från arkiv...
Man kan återskapa filer med eller utan sökväg.
E ger utan sökväg, dvs om man inte vill att det skall skapas
något underbibliotek, medan X återskapar hela sökvägen.
Båda kommandona förstår biblitekshänvisningar, dvs. om man vill
att filerna skall hamna i ett särskilt bibliotek. Standard är
aktuellt bibliotek.
Dessutom...
∙ Visa fil...
Skriver ut en fil som finns i arkivet till skärmen
· SQZ P arkiv filspec
∙ Kommentera arkiv... (FINNS INTE NU)
Tillåter att man lägger in en kommentar som beskriver innehållet
i arkivet, eller någon annan information.
Information kommer att skrivas ut vid Listning och Uppackning.
∙ Skydda arkiv... (FINNS INTE NU)
Spärrar arkivet för oböriga ändringar/uppackningar/nyfikna.
En metod för att spärra för ändringar NU är att skapa en SFX.
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Styrflaggor IV
-------------------------------------------------------------------------------
Styrflaggor finns för följande funktioner;
■ Inkludera underbibliotek
■ Hur sökväg skall sparas
■ Datumurval
■ Filattribut urval/hantering
■ Filkonflikt vid uppackning
■ Filer att ej inkludera vid arkivering
■ Kopiering kontra packning
■ Hastighet kontra packning
■ Metod för packning
■ Diverse
■ Inkludera underbibliotek
/s Inkludera underbibliotek vid sökning
Underbibliotek inkluderas även om
filspecifikationen ej uppfylls i aktuellt
bibliotek, till skillnad från visa andra.
■ Hur sökväg skall sparas
/p 0 - Som angivet
DATA\PAS\T.INF --> DATA\PAS\T.INF
1 - Skippa första delen
DATA\PAS\T.INF --> PAS\T.INF
Användbart om man sparar ett helt biblioteks-
träd då man kan tjäna en del bytes på arkivets
storlek. Om man anger biblitekets namn som
arkivets namn så behöver man ej spara biblioteks-
namnet för varje fil utan endast en gång.
Exemplet skulle t.ex. heta DATA.sqz och inne-
hålla PAS\T.INF istället för
XXXXX.SQZ och innehålla DATA\PAS\T.INF.
2 - Expandera från roten
DATA\PAS\T.INF --> \DIV\DATA\PAS\T.INF
3 - Endast filnamnet, ej sökvägen.
DATA\PAS\T.INF --> T.INF
■ Datumurval
da Datum efter (After) ÅÅMMDDHHMMSS
Från och med ÅÅMMDDHHMMSS.
Om ej angivet så fylls ut med nollor.
920402 --> 920402000000
db Datum före (Before) ÅÅMMDDHHMMSS
Fram till, i övrigt se ovan.
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Styrflaggor IV.2
-------------------------------------------------------------------------------
■ Filattribut urval/hantering
a Arkiv flagga, är hög om en fil har blivit skriven till.
Denna flagga styrs av DOS och har inget med SQZ arkiv.
Med hjälp av denna flagga kan man på ett enkelt sätt
bara spara sådana filer som är nya.
a1 Är satt, dvs ändrad fil
a? Bry dig inte
a0 Är ej satt, dvs ej ändrad fil, eller åtminstone så är inte
flagga uppdaterad.
a 1 Sätt den efter arkivering
a = Låt den vara, dvs ändra den inte
a 0 Släck den, dvs säg att filen ej är ändrad
a10 Ta med filer som har flaggan satt och släck den efter att filen
har arkiverats.
a?0 Bry dig inte om hur flaggan är, men släck efter arkivering.
■ Filkonflikt vid uppackning
o Överskrivning (Overwrite)
Skriv över filer vid uppackning/extrahering
o0 Skriv endast över äldre filer.
o1 Skriv ALLTID över.
o2 Fråga innan överskrivning.
■ Filer att ej inkludera vid arkivering
x Hoppa över
Inkludera inte följande fil/filer
/xGAMMAL.FIL /x*.BAK
Inkludera inte GAMMAL.FIL, inte heller någon fil som har
filtypen .BAK
Hanterar @fil
■ Kopiering kontra packning
c Kopiera filer med följande filtyper.
Ibland kostar det mer än det smakar, speciellt om man skall
arkiverar filer som redan är packade eller andra arkiv.
Jag vill ju bara påpeka att SQZ oftast kan krama ur ytterligare
några bytes(oktetter, då) ur de flesta arkivformat.
Som standard kopieras alla filer med någon av filtyperna;
.ARC .ARJ .LZH .PAK .SQZ .ZIP .ZOO
Om den anges så skrivs de befintliga över, så om man vill behålla
de befintliga får man räkna upp dem också.
/c.GIF -> Kopierar endast *.GIF ej *.ARC mm.
Hanterar inte @fil
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Styrflaggor IV.3
-------------------------------------------------------------------------------
■ Hastighet kontra packning
q Hastighet: Ju högre hastighet desto lägre komprimering.
/q0../q9 och /q∞ (ASCII 236d)
Standard är /q4.
Observera att /q∞ kan ta en j-vla tid på sig...
■ Metod för packning
m 0 - Kopiera, se även /c
1 - Komprimering med metod 1
2 - Komprimering med metod 2, oftast bättre men ej alltid
3 - Ytterligare förbättrad komprimering.
4 - Änne bättre, i de flesta fallen.
/m4 är standardvärde.
■ Diverse
z 0 - Visa förluppen tid
1 - Endast total, dvs. skriv inte ut varenda fil.
2 - Använd SFXJR.exe och inte SFX.exe
Kan kombineras: /z0 /z1 /z2 == /z0z1z2 == z012
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Jämförelser V
-------------------------------------------------------------------------------
Jämförelser med ARJ/LHA/LHArc/PKZip är gjorda på PKZ110.EXE, en SFX
som innehåller 15 filer á 302196 bytes.
Program Version Flg Storlek ArkivS. PTid TTid XTid
PKZip 1.10 es 160628 162116 0.04 0.03 0.06
ei 134757 136245 0.16 0.02 0.05
LHArc 1.14ß 136926 137450 0.34 0.10 0.15
LHA 2.13 130037 130606 0.19 0.04 0.08
ARJ 2.30ß2 m4 143087 143932 0.11 0.05 0.09
m3 130798 131643 0.13 0.06 0.10
m2 128145 128990 0.18 0.05 0.09
m1 127431 128276 0.18 0.05 0.09
jm1 127147 127993 0.19 0.05 0.09
jm 127006 127851 0.26 0.05 0.09
SQZ 1.08.1 q9 131209 131681 0.17,3 0.04,5 0.07,9
q8 129425 129897 0.17,9 0.04,5 0.07,9
q7 128240 128712 0.18,7 0.04,5 0.07,9
q6 127281 127753 0.19,7 0.04,5 0.07,9
q5 126815 127287 0.21,3 0.04,5 0.07,9
q4 126484 126956 0.23,5 0.04,5 0.07,9
q3 126288 126760 0.26,4 0.04,5 0.07,9
q2 126217 126689 0.30,1 0.04,5 0.07,9
q1 126190 126662 0.33,8 0.04,5 0.07,9
q0 127174 126646 0.40,8 0.04,5 0.07,9
q∞ 126149 126621 1.32,2 0.04,5 0.07,9
■ Program
■ Version
■ Flg Vilka styrflaggor som har använts.
■ Storlek Rapporterad storlek vid listning.
■ ArkivS. Storlek på arkivfilen.
■ PTid Packningstid i minuter.sekunder
■ TTid Tid för testning av arkivet
■ XTid Tid för uppackning av arkivet
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Historia VI
-------------------------------------------------------------------------------
Om det finns några områden som har intresserat mig mer än andra
inom data sä år dessa; grafik, databaser och packning.
Att grafik kan fånga intresset förstår nog alla, men databaser och
packning... tja... Databaser är lite svårt att förklara men varför
inte.. DÄRFÖR!
Packning följer ju från de andra, vackra bilder med många detaljer
och komplexa databaser som tar upp lite plats... tänk på det ni...
(jag menar i dessa tider då man slösar hur som helst med minnet,
tänk på ABC80/Apple II/ZX80 mm, då var ju 32kB himmelsriket)
Av naturliga skäl var mina första försök RLE varianter (grafik och
ABC:s tomrumspackning (009h + antal mellanslag) som fungerade bra
på textfiler men annars...
Någon gång under 1984 passerade en BYTE mina ögon och där fanns en
artikel om Huffman... statisk... hmm...
Jag gjorde lite experiment och fick fram något som fungerade hyfsat.
Tillsammans med en variant där jag ersatte fraser med koder, samma typ
som används i de flesta hjälpfilerna numera används SHuff fram till
86/87 då ARC/PKArc dök upp. De var ju mycket bättre, hur f-n gjorde
de????. Det var nästan döden för mig som packare.
Framåt -89 så hamnade något som kallades LZW framför mig och så
småningom så förstod jag hur PKArc fungerade och skrev själv en som
var bättre, så det så.
Ett tag var allt lungt men vissa funderingar fanns om man inte skull
kunna lösa det hela på något annat vis. LZSS nämndes men inte förstod
jag hur det hela fungerade. Det gör jag nu, som ni kanske har noterat.
Squeeze använder en variant av LZSS med så kallat "rullande fönster"
á 32kB, statisk huffman kodning av avstånd och längder, dvs i stort
samma sak som alla andra, men jag har lite små extra knep som ger
mig ett litet övertag, än så länge.
Det är rätt kul att notera att statisk Huffman ånyo har kommit till
användning.
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Framtid VII
-------------------------------------------------------------------------------
■ Skriva om fler tidskritiska delar i assembler.
■ Krympa ned SFX/SFXjr (19 resp 16kB är för STORT).
■ Förbättra felhanteringen.
■ Byta ut Huffman mot en annan form av kodning.
Den andra formen är lite effektivare men mer CPU-krävande.
■ Stöda fler operativ-/filsystem.
■ För tillfället kan resp. SQZ endast hantera sitt eget system så
en super SQZ som kan läsa alla typer vore kanske intressant.
■ Specifika metoder för olika typer av filer.
Metoden för att packa ljuddata skiljer sig från rörliga bilder osv.
■ Lägga in en form av verifikation, så att man kan garantera arkivets
integritet.
■ SFX är redan spärrade så att de ej kan modifieras, men det kan kanske
vara bra att kunna spärra vanliga arkiv från modifiering också.
■ Utnyttja 286/386/486(/586). Nu är det 8086 assembler som har använts.
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : BAT-filer VIII
-------------------------------------------------------------------------------
■ U.BAT Spara nya filer, skall köras en gång om dagen, helst slutet.
Alla nya filer som finns i angivet bibliotek sparas undan i
REV\ÅÅMMDD, gäller även underbiblioteken.
Arkivet får bibliotekets namn
Ex.: Om DATE=920508 och Ni skriver U SQZ och står i \DEV\C
så skapas \DEV\C\REV\920508\SQZ.SQZ
Förutsättning: DOSvariabeln DATE skall finnas. Den anger från och med
vilket datum filerna skall arkiveras, samt i vilket
underbibliotek de skall läggas i.
Vad som händer: Om inget REV-underbibliotek finns så skapas det.
Om inget %DATE%-under"under"bibliotek finns så
skapas även det.
I detta under"under"bibliotek hamnar arkivfilen.
∙ Jag har skrivit ett litet program som hämtar datorns tid och
lägger in den i DATE. Bifogas + källkod.
Obs! Programmet är ett derivat av ENVEDT från
"Undocumented DOS" av/med Schulman.
■ Q.BAT/QD.BAT
Packar ned ett helt bibliotek inklusive underbibliotek och döper
arkivet till bibliotekets namn.
QD.bat gör även en test av arkivet och raderar sedan biblioteket
mha. Norton Utilites 6.0 NCD.
Den raden kan ju bytas ut mot något annat programanrop.
SQZ - Squeeze : 1.08.1 : Jonas I Hammarberg : Registrering/Beställn. IX
-------------------------------------------------------------------------------
Registrering: Registering sker till nedanstående adress och ger
rätt till stöd och en fri uppdatering.
Registreringsavgiften är för tillfället 150SEK/30US$.
Mindre summor mottages också, men ger ingen rätt
till fri uppdatering.
Licenser: Om ni vill köpa flera så ges rabatt vid köp av fem och
uppåt.
Fel: Finns inga...
Nåja, men jag vill inte påstå att det kryllar av dem...
Kontakta mig är Ni sssnnnääääääääällllllllllllaaaaa
Ansvar: Jag påtar mig inget som helst ansvar för vad det än månde
vara. Jag påstår att programmet fungerar, men därmed inte
sagt att jag har lovat det. Om NI skulle lida någon skada
på grund av SQZ så har jag härmed avsagt mig allt ansvar.
NI ANVÄNDER PROGRAMMET PÅ EGEN RISK!
Det var det juridiska...
Om ni springer på problem är jag naturligtsvis intresserad
och vill lösa problemet, men ansvar... NOP
Kontakt: Jag kan dels nås hemma (distansarbete...) och även via
BBS, som jag kontaktar mer eller mindre på veckobasis.
Programmers BBS: (+46)40 930 101
HST DS 1200-14400 baud N-8-1
FidoNet 2:200/107
Jonas I Hammarberg (+46)46 730 088
Pl 529. St. Harrie 10:2 pg. 490 68 64-6
S-244 91 Kävlinge bg. 5635-00 213 53
Sverige/Sweden
mvh Jonas, <HL>